home *** CD-ROM | disk | FTP | other *** search
-
- XEvent event;
- int length;
- char new_string[ 12 ];
- KeySym keysym;
- XComposeStatus composestatus;
-
- length = XLookupString( &event,
- new_string, 1, /* 1 = max length */
- &keysym, &composestatus );
-
- new_string[1] = '\0'; /* some systems add garbage */
-
- /*
- * This is a US ASCII test,
- * so you may need to change this.
- */
- if ( ( length > 0 ) && ( keysym > 31 ) &&
- ( keysym < 127 ) )
- {
- /*
- * We have alphanumeric keyboard input
- */
- }
- else
- {
- /*
- * Test for some special keys.
- * This is not an exhaustive list.
- */
- switch( keysym )
- {
- case XK_Return: /* Return key */
- break;
- case XK_Escape:
- break;
- case XK_BackSpace:
- break;
- case XK_Delete:
- break;
- case XK_Right: /* right arrow */
- break;
- case XK_Prior: /* PageUp to DOS folks */
- break;
- case XK_Next: /* PageDn to DOS folks */
- break;
- case XK_F1: /* functionkey 1 */
- break;
- }
-
- }
-
-